<?php

/*
 * Modelo: "datos_veh.php"
 * Copyright 2011 SISVOX.
 *
 * Licenciado bajo SISVOX, Version 1.0 (la "Licencia");
 * El codigo presente que compone este Software es propiedad unica y
 * exclusivamente de SISVOX, por lo tanto, usted no podr� utilizar este
 * archivo excepto en cumplimiento de la Licencia ofrecida por SISVOX.
 * Usted puede obtener una copia de la Licencia en:
 *
 *      Soluciones Integrales de Software Vox (SISVOX)
 *                 http://www.sisvox.com
 *
 *     - Carlos Calvo      <ccalvo@sisvox.com>
 *     - Andres Hernandez  <ahernandez@sisvox.com>
 *
 * A menos que sea requerido por la ley aplicable o se acuerde por escrito,
 * el software distribuido bajo la licencia se distribuye "TAL CUAL", CON
 * LAS GARANTIAS Y CONDICIONES expresadas en la "Licencia".
 */


@include_once('enlaceBD.php');
@include_once("helper.php");

class Datos_veh {
	
    /* Nombre de las Variables del Modelo (INFORMATIVO)
	
	*/

    // Variable para los resultados de las Consultas
    private $respuesta;

	// Tablas del Modelo
    private $tsmat_datos_veh 		= "smat_datos_veh";
	
	
    // =================================================================================================================
    //	FUNCION - INSERTAR LOS DATOS DE UNA INFRACCIÓN
    // =================================================================================================================
	
    public function insertar_datos_inf( $id_motivo, $fecha, $hora, $id_tipo_ide_inf, $nro_ide_inf, $nombre_infractor, $grado_lic, $id_condi_per, $sexo, $fecha_nacimiento, $domicilio, $cod_tel, $nro_tel, $cod_cel, $nro_cel, $correo, $vehiculo, $placa, $serial_carroceria, $marca, $modelo, $color, $anyo, $tipo, $uso, $geolocalizacion, $coord_x, $coord_y, $id_estado, $id_municipio, $id_parroquia, $id_sector, $id_tipo_via, $referencia, $remolque, $id_tipo_ide_ope, $nro_ide_ope, $nombre_operador, $placa_grua, $id_estacionamiento, $id_tipo_ide_fun, $nro_ide_fun, $login_registro, $importe, $observaciones )
    {
        $this->retorno = array();
		
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_smist_WS'] );
		
        if(!$conexion)
        {
            $this->retorno[0] = "N";
            $this->retorno[1] = "No se pudo Agregar la Infracción (Problemas en la Conexión): ".$conexion->getLastMessage();
			$this->retorno[2] = "-1";
            return $this->retorno;
        }
        else
        {
            $fmt_fecha_inf	= $conexion->darFormatoFecha($fecha);
			$fmt_hora_inf	= $conexion->darFormatoHora($hora);
			$fmt_fecha_nac	= $conexion->darFormatoFecha($fecha_nacimiento);
			$fecha_actual 	= $conexion->getSQLTimeStamp();
			
			$fmt_fecha_nac_edad	= $conexion->darFormatoFechaEdad($fecha_nacimiento);
			
			$edad = calcular_edad( $fmt_fecha_nac_edad );
			
			$sql = "insert into ".$_SESSION['db_smit_WS'].$_SESSION['schema_db_WS'].".$this->tsmit_datos_inf ( id_motivo, id_status, fecha, hora, id_tipo_ide_inf, nro_ide_inf, nombre_infractor, grado_lic, id_condi_per, sexo, edad, fecha_nacimiento, domicilio, cod_tel, nro_tel, cod_cel, nro_cel, correo, vehiculo, placa, serial_carroceria, marca, modelo, color, anyo, tipo, uso, geolocalizacion, coord_x, coord_y, id_estado, id_municipio, id_parroquia, id_sector, id_tipo_via, referencia, remolque, id_tipo_ide_ope, nro_ide_ope, nombre_operador, placa_grua, id_estacionamiento, id_tipo_ide_fun, nro_ide_fun, login_registro, fecha_registro, importe, observaciones )
             		values ( $id_motivo, 1, $fmt_fecha_inf, $fmt_hora_inf, '$id_tipo_ide_inf', '$nro_ide_inf', '$nombre_infractor', '$grado_lic', $id_condi_per, '$sexo', $edad, $fmt_fecha_nac, '$domicilio', '$cod_tel', '$nro_tel', '$cod_cel', '$nro_cel', '$correo', ";
			
            $sql .= "'$vehiculo', ";
			
			if ( $vehiculo == "SI" ) {	
				$sql .= "'$placa', '$serial_carroceria', '$marca', '$modelo', '$color', '$anyo', '$tipo', '$uso', ";
			} else if ( $vehiculo == "NO" ) {
				$sql .= "null, null, null, null, null, null, null, null, ";
			}
			
			$sql .= "'$geolocalizacion', ";
			
			if ( $geolocalizacion == "SI" ) {
				$sql .= "'$coord_x', '$coord_y', ";
			} else if ( $geolocalizacion == "NO" ) {
				$sql .= "null, null, ";
			}
			
			$sql .= "'$id_estado', '$id_municipio', ";
			
			if ( $id_parroquia != "" ) {
				$sql .= "'$id_parroquia', ";
			} else {
				$sql .= "null, ";
			}
			if ( $id_sector != "" ) {
				$sql .= "'$id_sector', ";
			} else {
				$sql .= "null, ";
			}
			
			$sql .= "$id_tipo_via, ";
			
			if ( $referencia != "" ) {
				$sql .= "'$referencia', ";
			} else {
				$sql .= "null, ";
			}
			
			$sql .= "'$remolque', ";
			
			if ( $remolque == "SI" ) {
				$sql .= "'$id_tipo_ide_ope', '$nro_ide_ope', '$nombre_operador', '$placa_grua', $id_estacionamiento, ";
			} else if ( $remolque == "NO" ) {
				$sql .= "null, null, null, null, null, ";
			}
			
			$sql .= "'$id_tipo_ide_fun', '$nro_ide_fun', '$login_registro', $fecha_actual, $importe, ";
			
			if ( $observaciones != "" ) {
				$sql .= "'$observaciones')";
			} else {
				$sql .= "null)";
			}
			
			$this->respuesta = $conexion->consultar($sql);
			
            $temparray = $conexion->buscarFilasAfectadas();
			
            if($temparray == 0)
            {
                $this->retorno[0] = "N";
                $this->retorno[1] = "No se pudo Agregar la Infracción: ".$conexion->getLastMessage();
				$this->retorno[2] = "-1";
            }
            else
            {
            	$id = $conexion->buscarUltimoInsertID();
				
                $this->retorno[0] = "S";
                $this->retorno[1] = "La Infracción se ha Agregado con Exito con el ID: ".$id;
				$this->retorno[2] = $id;
            }
			
			$conexion->desconectar();
			return $this->retorno;
        }
    }
	
	
	// =================================================================================================================
    //	FUNCION - CONSULTAR LOS DATOS DE LOS VEHÍCULOS INVOLUCRADOS (XML) EN UN ACCIDENTE
    // =================================================================================================================
	
    public function consultar_datos_veh_xml( $id_expediente ) 
	{
        $this->retorno = array();
		
		$conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_smat_WS'] );
		
        if(!$conexion)
        {
            $this->retorno[0] = "N";
            $this->retorno[1] = "No se pudo Consultar los Datos de los Vehículos Involucrados en un Accidente (Problemas en la Conexión): ".$conexion->getLastMessage();
            return $this->retorno;
        }
        else
        {
        	$sql = "select v.id_expediente as id_expediente, 
					v.placa as placa, 
					v.serial_carroceria as serial_carroceria, 
					v.marca as marca, 
					v.modelo as modelo, 
					v.serial_motor as serial_motor, 
					v.anyo as anyo, 
					v.color1 as color1, 
					v.color2 as color2, 
					v.uso as uso, 
					v.clase as clase, 
					v.tipo as tipo, 
					v.servicio as servicio, 
					v.asegurado as asegurado, 
					v.id_aseguradora as id_aseguradora, 
					v.nro_poliza as nro_poliza, 
					$fmt_fecha_ven as fecha_vencimiento, 
					v.dano_gen as dano_gen, 
					v.dano_del as dano_del, 
					v.dano_del_der as dano_del_der, 
					v.dano_del_izq as dano_del_izq, 
					v.dano_tra as dano_tra, 
					v.dano_tra_der as dano_tra_der, 
					v.dano_tra_izq as dano_tra_izq, 
					v.dano_lat_der as dano_lat_der, 
					v.dano_lat_izq as dano_lat_izq, 			 
					v.desc_condi_seg as desc_condi_seg, 
					v.ruta_img1 as ruta_img1, 
					v.ruta_img2 as ruta_img2, 
					v.ruta_img3 as ruta_img3
				from ".$_SESSION['db_smat_WS'].$_SESSION['schema_db_WS'].".$this->tsmat_datos_veh as v 
				where v.id_expediente = $id_expediente";	
			
			$this->respuesta = $conexion->consultar($sql);
			
			$temparray = $this->respuesta->buscar_fila();
			
            if(!temparray)
            {
                $this->retorno[0] = "N";
                $this->retorno[1] = "No se pudo Consultar los Datos de los Vehículo Involucrados en un Accidente: ".$conexion->getLastMessage();
            }
            else
            {
				// Si se encontro un Resultado con el ID dado
				if ( $temparray['id_expediente'] != "" ) 
				{
					
					$_xml="<datos_veh>";
					$_xml.="<id_expediente>".$temparray['id_expediente']."</id_expediente>";
					$_xml.="<placa>".strtoupper($temparray['placa'])."</placa>";
					$_xml.="<serial_carroceria>".strtoupper($temparray['serial_carroceria'])."</serial_carroceria>";
					$_xml.="<marca>".utf8_encode(strtoupper($temparray['marca']))."</marca>";
					$_xml.="<modelo>".utf8_encode(strtoupper($temparray['modelo']))."</modelo>";
					$_xml.="<serial_motor>".utf8_encode(strtoupper($temparray['serial_motor']))."</serial_motor>";
					$_xml.="<anyo>".$temparray['anyo']."</anyo>";
					$_xml.="<color1>".utf8_encode(strtoupper($temparray['color1']))."</color1>";
					$_xml.="<color2>".utf8_encode(strtoupper($temparray['color2']))."</color2>";
					$_xml.="<uso>".utf8_encode(strtoupper($temparray['uso']))."</uso>";
					$_xml.="<clase>".utf8_encode(strtoupper($temparray['clase']))."</clase>";
					$_xml.="<tipo>".utf8_encode(strtoupper($temparray['tipo']))."</tipo>";
					$_xml.="<servicio>".utf8_encode(strtoupper($temparray['servicio']))."</servicio>";
					
					$_xml.="<asegurado>".$temparray['asegurado']."</asegurado>";
					$_xml.="<id_aseguradora>".$temparray['id_aseguradora']."</id_aseguradora>";
					$_xml.="<nombre_aseguradora>".utf8_encode(strtoupper($temparray['nombre_aseguradora']))."</nombre_aseguradora>";
					$_xml.="<nro_poliza>".$temparray['nro_poliza']."</nro_poliza>";
					$_xml.="<fecha_vencimiento>".$temparray['fecha_vencimiento']."</fecha_vencimiento>";
					
					$_xml.="<dano_gen>".$temparray['dano_gen']."</dano_gen>";
					$_xml.="<dano_del>".$temparray['dano_del']."</dano_del>";
					$_xml.="<dano_del_der>".$temparray['dano_del_der']."</dano_del_der>";
					$_xml.="<dano_del_izq>".$temparray['dano_del_izq']."</dano_del_izq>";
					$_xml.="<dano_tra>".$temparray['dano_tra']."</dano_tra>";
					$_xml.="<dano_tra_der>".$temparray['dano_tra_der']."</dano_tra_der>";
					$_xml.="<dano_tra_izq>".$temparray['dano_tra_izq']."</dano_tra_izq>";
					$_xml.="<dano_lat_der>".$temparray['dano_lat_der']."</dano_lat_der>";
					$_xml.="<dano_lat_izq>".$temparray['dano_lat_izq']."</dano_lat_izq>";
					$_xml.="<desc_condi_seg>".$temparray['desc_condi_seg']."</desc_condi_seg>";
					$_xml.="<ruta_img1>".$temparray['ruta_img1']."</ruta_img1>";
					$_xml.="<ruta_img2>".$temparray['ruta_img2']."</ruta_img2>";
					$_xml.="<ruta_img3>".$temparray['ruta_img3']."</ruta_img3>";
					$_xml.="</datos_veh>";
				}
				// Si no se encontro ningun Resultado con el ID dado
				else
				{
					$_xml="<datos_veh>";
					$_xml.="VACIO";
					$_xml.="</datos_veh>";
				}
				
				$this->retorno[0] = "S";
				$this->retorno[1] = $_xml;
            }
			
			$conexion->desconectar();
			return $this->retorno;
		}
    }
	
	
	// ============================================================================================================
    // FUNCION - CONSULTAR LOS DATOS DE LOS VEHÍCULOS INVOLUCRADOS EN UN ACCIDENTE
    // ============================================================================================================
    
    public function consultar_datos_veh( $id_expediente ) {
        $conexion 	= new EnlaceBD;
        $var 		= $conexion->conectar( $_SESSION['db_smat_WS'] );
		
		$fmt_fecha_ven 	= $conexion->extraerCampoFecha('v.fecha_vencimiento');
		
        $sql = "select v.id_expediente as id_expediente, 
					v.placa as placa, 
					v.serial_carroceria as serial_carroceria, 
					v.marca as marca, 
					v.modelo as modelo, 
					v.serial_motor as serial_motor, 
					v.anyo as anyo, 
					v.color1 as color1, 
					v.color2 as color2, 
					v.uso as uso, 
					v.clase as clase, 
					v.tipo as tipo, 
					v.servicio as servicio, 
					v.asegurado as asegurado, 
					v.id_aseguradora as id_aseguradora, 
					v.nro_poliza as nro_poliza, 
					$fmt_fecha_ven as fecha_vencimiento, 
					v.dano_gen as dano_gen, 
					v.dano_del as dano_del, 
					v.dano_del_der as dano_del_der, 
					v.dano_del_izq as dano_del_izq, 
					v.dano_tra as dano_tra, 
					v.dano_tra_der as dano_tra_der, 
					v.dano_tra_izq as dano_tra_izq, 
					v.dano_lat_der as dano_lat_der, 
					v.dano_lat_izq as dano_lat_izq, 			 
					v.desc_condi_seg as desc_condi_seg, 
					v.ruta_img1 as ruta_img1, 
					v.ruta_img2 as ruta_img2, 
					v.ruta_img3 as ruta_img3
				from ".$_SESSION['db_smat_WS'].$_SESSION['schema_db_WS'].".$this->tsmat_datos_veh as v 
				where v.id_expediente = $id_expediente";
        
		$this->respuesta = $conexion->consultar($sql) 
			or die("No se pudo Consultar los Datos de los Vehículos Involucrados en el Accidente: $id_expediente.");
		
        $i = 0;
        while ( $temparray = $this->respuesta->buscar_fila() ) {
            $lista_datos_veh[$i][0] = $temparray['id_expediente'];
            $lista_datos_veh[$i][1] = strtoupper($temparray['placa']);
            $lista_datos_veh[$i][2] = strtoupper($temparray['serial_carroceria']);
            $lista_datos_veh[$i][3] = strtoupper($temparray['marca']);
            $lista_datos_veh[$i][4] = strtoupper($temparray['modelo']);
            $lista_datos_veh[$i][5] = strtoupper($temparray['serial_motor']);
            $lista_datos_veh[$i][6] = strtoupper($temparray['anyo']);
            $lista_datos_veh[$i][7] = strtoupper($temparray['color1']);
            $lista_datos_veh[$i][8] = strtoupper($temparray['color2']);
            $lista_datos_veh[$i][9] = strtoupper($temparray['uso']);
			$lista_datos_veh[$i][10] = strtoupper($temparray['clase']);
            $lista_datos_veh[$i][11] = strtoupper($temparray['tipo']);
            $lista_datos_veh[$i][12] = strtoupper($temparray['servicio']);
			
			$lista_datos_veh[$i][13] = strtoupper($temparray['asegurado']);
            $lista_datos_veh[$i][14] = strtoupper($temparray['id_aseguradora']);
            $lista_datos_veh[$i][16] = "";
            $lista_datos_veh[$i][16] = strtoupper($temparray['nro_poliza']);
			$lista_datos_veh[$i][17] = strtoupper($temparray['fecha_vencimiento']);
			
			$lista_datos_veh[$i][18] = strtoupper($temparray['dano_gen']);
			$lista_datos_veh[$i][19] = strtoupper($temparray['dano_del']);
			$lista_datos_veh[$i][20] = strtoupper($temparray['dano_del_der']);
            $lista_datos_veh[$i][21] = strtoupper($temparray['dano_del_izq']);
			$lista_datos_veh[$i][22] = strtoupper($temparray['dano_tra']);
			$lista_datos_veh[$i][23] = strtoupper($temparray['dano_tra_der']);
            $lista_datos_veh[$i][24] = strtoupper($temparray['dano_tra_izq']);
			$lista_datos_veh[$i][25] = strtoupper($temparray['dano_lat_der']);
            $lista_datos_veh[$i][26] = strtoupper($temparray['dano_lat_izq']);
			$lista_datos_veh[$i][27] = $temparray['desc_condi_seg'];
			
			// $lista_datos_veh[$i][28] = Reservado para la descripcion de las Condiciones de Seguridad
			
			$lista_datos_veh[$i][29] = $temparray['ruta_img1'];
			$lista_datos_veh[$i][30] = $temparray['ruta_img2'];
			$lista_datos_veh[$i][31] = $temparray['ruta_img3'];
           	$i++;
        }
		
        $conexion->desconectar();
        return $lista_datos_veh;
    }
}
?>